package com.cjjd.c.utils;

import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * ----------------------------------
 * Created by xyd on 2016/8/24.
 * <p/>
 * 描  述：计算相关的工具
 * <p/>
 * 修订历史:
 * ----------------------------------
 */
public class MathUtil {

    /**
     * 四舍五入法，保留要求的位数
     *
     * @param value
     * @param scale
     * @return
     */
    public static String round(double value, int scale) {
        BigDecimal bd = new BigDecimal(value).setScale(scale, RoundingMode.HALF_UP);
        return bd.toString();
    }

    /**
     * 四舍五入法，保留两位有效数字
     *
     * @param number
     * @return
     */
    public static String double2String(double number) {
        BigDecimal bd = new BigDecimal(number).setScale(2, RoundingMode.HALF_UP);
        return bd.toString();
    }

    /**
     * 四舍五入法，保留 d 位有效数字
     *
     * @param number
     * @return
     */
    public static String double2String(double number, int d) {
        BigDecimal bd = new BigDecimal(number).setScale(d, RoundingMode.HALF_UP);
        return bd.toString();
    }

    /**
     * 四舍五入法，保留两位有效数字
     *
     * @param number
     * @return
     */
    public static String string2String(String number) {
        if (number == null) {
            number = "0.00";
        }
        BigDecimal bd = new BigDecimal(number).setScale(2, RoundingMode.HALF_UP);
        return bd.toString();
    }

    /**
     * 加法
     * @param v1
     * @param v2
     * @return
     */
    public static String add(String v1, String v2){
        BigDecimal add = new BigDecimal(v1).add(new BigDecimal(v2));
        return add.toString();
    }

    /**
     * 除法
     * @param v1
     * @param v2
     * @return
     */
    public static String divide(String v1, String v2){
        BigDecimal add = new BigDecimal(v1).divide(new BigDecimal(v2));
        return add.toString();
    }

    public static String mutipli(String v1, String v2){
        BigDecimal decimal = new BigDecimal(v1).multiply(new BigDecimal(v2));
        return decimal.toString();
    }

    public static BigDecimal mutipli(double v1, double v2){
        return new BigDecimal(v1).multiply(new BigDecimal(v2));
    }




}
